<?php
namespace Home\Controller;
use Think\Controller;
class MyClassController extends AllowController {

    // 我的班级
    public function myclass(){
        $class=M('class');//实例化班级类
        $classroom=M('class_room');//实例化教室类
        $user=M('users');//实例化用户类
        $major=M('major');//实例化课程类
        $arr=array();// 创建数组存放数据
        $id=$_SESSION['userid'];// 获取登录的用户id

        // 获取班级的id
        $list1=$user->field('class')->where("id=$id")->select();
        foreach ($list1 as $key => $value) {
            //班级class的id存储到$arr数组
            $arr['id']=$value['class'];
            // 获取班级所有信息
            $list2=$class->where("id={$value['class']}")->select();
            foreach ($list2 as $key => $value) {
                // 获取班级名称存储到$arr数组
                $arr['class']=$value['name'];
                // 开班状态存储到$arr数组
                $arr['status']=$value['status'];
                // 开班时间存储到$arr数组
                $arr['start']=date('Y-m-d',$value['start_time']);
            }
            // 专业id 教室id
            $list4=$class->where("name='{$arr['class']}'")->select();
            foreach ($list4 as $key => $value) {
                // 专业名称
                $list5=$major->where("id={$value['major_id']}")->select();
                foreach ($list5 as $key => $value) {
                    // 专业存储到$arr数组
                    $arr['major']=$value['name'];
                }
                // 教室名称
                $list6=$classroom->where("id={$list4[0]['class_room']}")->select();
                foreach ($list6 as $key => $value) {
                    // 教室名称存储到$arr数组
                    $arr['room']=$value['name'];
                }
            }
        }
        // 班主任存储到$arr数组
        $list2=$user->field('name')->where("id={$list4[0]['admin_id']} and role_id=5")->select();
        foreach ($list2 as $key => $value) {
            $arr['adminname']=$value['name'];
        }
        // 讲师存储到$arr数组
        $list3=$user->field('name')->where("id='{$list4[0]['teacher_id']}' and role_id=6")->select();
        foreach ($list3 as $key => $value) {
            $arr['teachername']=$value['name'];
        }
        // 姓名经理存储到$arr数组
        $list3=$user->field('name')->where("id='{$list4[0]['pm_id']}' and role_id=7")->select();
        foreach ($list3 as $key => $value) {
            $arr['pmname']=$value['name'];
        }
        // 班长存储到$arr数组  
        $list3=$user->field('name')->where("class='{$list1[0]['class']}' and role_id=8")->select();
        foreach ($list3 as $key => $value) {
            $arr['monitorname']=$value['name'];
        }
        // 获取同一个班级所有人姓名
        $list=M('users')->where("class={$arr['id']} and team=0")->select();
        $names=array();
        foreach ($list as $key => $value) {
           $names[$key]['uid']=$value['id'];
           $names[$key]['name']=$value['name'];
           $names[$key]['roleid']=$value['role_id'];
        }
        // 获取同一班级所有不同组所有成员
        $team = D("team");
        //把所有的小组遍历出来
        $arr1 = array("class"=>$arr['id']);
        $teams = $team->where($arr1)->field("id,name")->select();
        $listt = array();
        $list1 = M("users")->where($arr1)->select();
        $this->assign("list1",$list1);
        $this->assign('list',$arr);
        $this->assign('row',$teams);
        $this->assign('names',$names);
        $this->display("MyClass/Myclass");
    }

    // 查看自己班级通讯录
    public function MailList(){
        $user=M('users');
        // 获取班级
        $id=$_SESSION['class'];
        $classname=M('class')->where("id=$id")->select();
        $list=$user->where("class=$id and role_id in(10,8,9)")->field('name,phone,qq,email')->select();
        $this->assign('class',$classname);
        $this->assign('list',$list);
        $this->display("MyClass/MailList");
    }

    // 导出通讯录Excel表格
    public function Excel()
    {
        // 获取班级(怎么获取是get还是session你自己看下)，我写的全是你上一个方法
        $id=$_SESSION['class'];
        // 但是视图里面的Maillist。html的57行，我没有写get传值，如果通过session，就不需要传值了，如果你想用get，给按钮后面加个班级的id就可以了
        // 这里建议从session里面获取个人信息，如果get，别人可以仿造，就可以看到别的班的信息了，同理你的104行也是
        $user=M('users');
        $classname=M('class')->where("id=$id")->select();
        $list=$user->where("class=$id and role_id in(10,8,9)")->field('name,phone,qq,email')->select();
        $time=date("Y-m-d",time());
        PHPExcel(1, rtrim($classname['0']['name'],"班")."班通讯录".$time, $list);
    }

}